5 REM CHARACTER DOCTOR BY ALISON DENU AND ALLEN HUFFMAN
10 REM SETTING UP VARIABLES
20 DIMCS$(55),CS(36),MAP(122)
30 GOTO11000
100 REM THIS IS AN EXAMPLE OF HOW TO USE THE HI-RES TEXT CHARACTERS
110 CLS
115 PRINT"HIGH RES TEXT PROGRAM EXAMPLE":PRINT
120 PRINT"X START COORDINATE 1-248";:INPUTX:IFX<1ORX>248THENX=1
130 PRINT"Y START COORDINATE 7-190";:INPUTY:IFY<7ORY>190THENY=7
140 PRINT"ENTER TEXT: ";:LINEINPUT A$
150 N=LEN(A$):IFN>36THENPRINT"MAXIMUM LINE LENGTH IS 36 CHARACTERS":GOTO140
160 FOR QP=1 TO N:C=ASC(MID$(A$,QP,1)):CS(QP)=MAP(C):NEXT
170 GOTO12000
11000 REM WRITING THE CHARACTERS INTO THE STRING ARRAY
11002 CS$(1)="BR1U4E2F2D2NL3D2BR2"
11004 CS$(2)="BR1U6R3F1D1G1L3R3F1D1G1L3BR6"
11006 CS$(3)="BR1BU1U4E1R2F1BD4G1L2BR5"
11008 CS$(4)="BR1U6R2F2D2G2L2BR6"
11010 CS$(5)="BR1U6R4BD3BL1L3BD3R4BR2"
11012 CS$(6)="BR1U6R4BD3BL1L3BD3BR6"
11014 CS$(7)="BR1BU1U4E1R2F1BD2L2R2D2G1L2BR5"
11016 CS$(8)="BR1U6BD3R4BU3D6BR1"
11018 CS$(9)="BR2R2L1U6L1R2BD6BR3"
11020 CS$(10)="BR1BU1F1R1E1U5L1R2L1BD6BR3"
11022 CS$(11)="BR1U6D3E3G3F3BR2"
11024 CS$(12)="BR1U6D6R4BR2"
11026 CS$(13)="BR1U6D1R1F1D1U1E1R1U1D6BR2"
11028 CS$(14)="BR1U6D1F4U5D6BR2"
11030 CS$(15)="BR1BE1U4E1R2F1D4G1L2BR5"
11032 CS$(16)="BR1U6R3F1D1G1L2BD3BR4"
11034 CS$(17)="BR1BE1U4E1R2F1D3G2L1R1E1H1F2BR2"
11036 CS$(18)="BR1U6R3F1D1G1L2R1D1F2BR2"
11038 CS$(19)="BR1R3E1U1H1L2H1U1E1R3BD6BR2"
11040 CS$(20)="BR3U6L2R4BD6BR2"
11042 CS$(21)="BR1BU1U5BR4D5G1L2BR5"
11044 CS$(22)="BR1BU2U4BR4D4G2H2F2BR4"
11046 CS$(23)="BR2BU1U5D5F1E1U2D2F1E1U5BD6BR2"
11048 CS$(24)="BR1U1E4U1BL4D1F4D1BR2"
11050 CS$(25)="BR3U3H2U1BR4D1G2D3BR4"
11052 CS$(26)="BR1BU6R4D1G4D1R4BR2"
11054 CS$(27)="BR1BU1U4E1R2F1NG4D4G1L2BR5"
11056 CS$(28)="BR2R2L1U6D1L1R1D5BR4"
11058 CS$(29)="BR1NR4NE4BU5E1R2F1BD5BR2"
11060 CS$(30)="BR1BU6R4L1D1G1F2D1G1L2H1BD1BR6"
11062 CS$(31)="BR4U6D1L1G2D1R4BD2BR2"
11064 CS$(32)="BR1BU1F1R2E1U2H1L3U2R4BD6BR2"
11066 CS$(33)="BR1BU1U3E2R1BD3L3R3F1D1G1L2BR5"
11068 CS$(34)="BR2U2E3U1L4BR6BD6"
11070 CS$(35)="BR2R2E1U1H1E1U1H1L2G1D1F1R2L2G1D1BD1BR6"
11072 CS$(36)="BR2R1E2U3H1L2G1D1F1R3BD3BR2"
11074 CS$(37)="BR3U1BU2U3BD6BR4"
11076 CS$(38)="BR2BU4U2BR2D2BD4BR3"
11078 CS$(39)="BR2U6D1L1R4BD3L4BU4BR3D6BR3"
11080 CS$(40)="BR3U6D1R2L3G1F1R2F1G1L3BD1BR6"
11082 CS$(41)="BR4R1U1L1BU4BL2U1L1D1BR4G4BD1BR6"
11084 CS$(42)="BR1BU1U1BU2U1E1R1F1G2F3BU2G2L1BR5"
11086 CS$(43)="BR3BU6D1G1BD4BR5"
11088 CS$(44)="BR4H2U2E2BD6BR5"
11090 CS$(45)="BR2E2U2H2BD6BR5"
11092 CS$(46)="BR2E1U1BD2BR5"
11094 CS$(47)="BR2U1R1D1BR4"
11096 CS$(48)="BR2BU1U1BU2U1R1D1BD2D1BD1BR4"
11098 CS$(49)="BR1R1U2BU2U1R1D1BD2D1BD1BR4"
11100 CS$(50)="BR3U1BU2E2U1H1L2G1BD5BR6"
11102 CS$(51)="BR3BU1U4D2L2R4BD3BR2"
11104 CS$(52)="BR1BU3R4BD3BR2"
11106 CS$(53)="BR2BU1E1NF1U1NL2NR2U1NH1E1BD5BR3"
11108 CS$(54)="BR5BU4L4BD2R4BD2BR2"
11110 CS$(55)="BR7"
11570 REM --- MAP ASCII CODES TO CS$ INDICES ---
11580 REM SPACE
11590 MAP(32)=55
11600 REM DIGITS 0-9
11610 MAP(48)=27:MAP(49)=28:MAP(50)=29:MAP(51)=30:MAP(52)=31
11620 MAP(53)=32:MAP(54)=33:MAP(55)=34:MAP(56)=35:MAP(57)=36
11630 REM UPPERCASE LETTERS A-Z
11640 MAP(65)=1:MAP(66)=2:MAP(67)=3:MAP(68)=4:MAP(69)=5
11650 MAP(70)=6:MAP(71)=7:MAP(72)=8:MAP(73)=9:MAP(74)=10
11660 MAP(75)=11:MAP(76)=12:MAP(77)=13:MAP(78)=14:MAP(79)=15
11670 MAP(80)=16:MAP(81)=17:MAP(82)=18:MAP(83)=19:MAP(84)=20
11680 MAP(85)=21:MAP(86)=22:MAP(87)=23:MAP(88)=24:MAP(89)=25
11690 MAP(90)=26
11700 REM PUNCTUATION (EXAMPLES b ADJUST AS NEEDED)
11710 MAP(33)=37   ' !
11720 MAP(34)=38   ' "
11730 MAP(35)=39   ' #
11740 MAP(36)=40   ' $
11750 MAP(37)=41   ' %
11760 MAP(38)=42   ' &
11770 MAP(39)=43   ' '
11780 MAP(40)=44   ' (
11790 MAP(41)=45   ' )
11800 MAP(42)=53   ' *
11810 MAP(43)=51   ' +
11820 MAP(44)=46   ' ,
11830 MAP(45)=52   ' -
11840 MAP(46)=47   ' .
11850 MAP(58)=48   ' :
11860 MAP(59)=49   ' ;
11870 MAP(61)=54   ' =
11880 MAP(63)=50   ' ?
11990 GOTO100
12000 REM DISPLAYING THE CHARACTERS ON THE HI-RES SCREEN
12010 PMODE 4,1:SCREEN 1,0:PCLS:DRAW"S4BM"+STR$(X)+","+STR$(Y):FORQP=1TON:DRAWCS$(CS(QP)):NEXT
12020 AK$=INKEY$:IFAK$<>""THEN100ELSE12020
